django

您所在的位置:网站首页 django jsonfield 更新慢 django

django

2024-01-21 02:46| 来源: 网络整理| 查看: 265

有个业务场景,数据库一个字段保存json数据,访问时返回该json。

这里使用modle字段为 

name = models.CharField(max_length=120)

序列化器

name = serializers.JSONField()

但是DRF 框架的JSONField 字段 返回的是符串,并且保存到数据库中的数据的转成了python的数据格式,如字典的键是用单引号引出,但是json是用双引号引出,单引号引出的不是json格式,无论前端还是后端解释都是解释不出来的。所以在这里我们需要改写下JSONField 这个字段。

class Jsonserializer(serializers.JSONField): default_error_messages = { 'invalid_json': _('无效的json数据格式') } def to_representation(self, value): return json.loads(value) def to_internal_value(self, data): try: json.loads(data) except (TypeError, ValueError): self.fail('invalid_json') return data

这里我们 将前端传来的数据 校验后(json.loads(data)ÿ



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3